HBASE-30079 Upgrade hbase-compression to use junit5#8169
Merged
liuxiaocs7 merged 2 commits intoapache:branch-2.5from Apr 30, 2026
Merged
HBASE-30079 Upgrade hbase-compression to use junit5#8169liuxiaocs7 merged 2 commits intoapache:branch-2.5from
liuxiaocs7 merged 2 commits intoapache:branch-2.5from
Conversation
Member
liuxiaocs7
commented
Apr 29, 2026
- see: HBASE-30079
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the hbase-compression test suite (and related WAL compression tests) to JUnit 5 by migrating legacy JUnit 4 APIs and HBase’s parameterized test template usage to JUnit Jupiter annotations and assertions.
Changes:
- Migrated many compression-related tests from JUnit 4 (
@Test,@BeforeClass,@AfterClass,@Category,Assert/Assume) to JUnit 5 (@Test,@BeforeAll,@AfterAll,@Tag,Assertions/Assumptions). - Reworked WAL compression parameterization to use JUnit Jupiter params annotations and changed template tests to regular
@Test. - Added
junit-jupiter-engineto thehbase-compressionmodule’s test dependencies.
Reviewed changes
Copilot reviewed 31 out of 31 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWALValueCompression.java | Switches WAL value-compression test class to JUnit 5 class-level parameterization annotations. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWAL.java | Switches WAL provider test class to JUnit 5 class-level parameterization annotations. |
| hbase-server/src/test/java/org/apache/hadoop/hbase/wal/CompressedWALTestBase.java | Converts template-based tests to plain JUnit 5 @Test methods. |
| hbase-compression/pom.xml | Adds Jupiter engine dependency so JUnit 5 tests can execute. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdDictionarySplitMerge.java | Migrates zstd dictionary split/merge integration test to JUnit 5 APIs. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdDictionary.java | Migrates zstd dictionary unit test to JUnit 5 APIs and assertions. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdCodec.java | Migrates zstd codec tests to JUnit 5 tags and annotations. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestZstdByteBuffDecompressor.java | Migrates zstd ByteBuff decompressor tests to JUnit 5 assertions/tags. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestWALCompressionZstd.java | Migrates zstd WAL compression test lifecycle and tagging to JUnit 5. |
| hbase-compression/hbase-compression-zstd/src/test/java/org/apache/hadoop/hbase/io/compress/zstd/TestHFileCompressionZstd.java | Migrates zstd HFile compression tests to JUnit 5 lifecycle/tags. |
| hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestWALCompressionSnappy.java | Migrates snappy WAL compression test to JUnit 5 lifecycle/tags/assumptions. |
| hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestSnappyCodec.java | Migrates snappy codec tests to JUnit 5 lifecycle/tags/assumptions. |
| hbase-compression/hbase-compression-snappy/src/test/java/org/apache/hadoop/hbase/io/compress/xerial/TestHFileCompressionSnappy.java | Migrates snappy HFile compression tests to JUnit 5 lifecycle/tags/assumptions. |
| hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestWALCompressionLz4.java | Migrates lz4 WAL compression test lifecycle and tagging to JUnit 5. |
| hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestLz4Codec.java | Migrates lz4 codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-lz4/src/test/java/org/apache/hadoop/hbase/io/compress/lz4/TestHFileCompressionLz4.java | Migrates lz4 HFile compression tests to JUnit 5 lifecycle/tags. |
| hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestWALCompressionBrotli.java | Migrates brotli WAL compression test lifecycle and tagging to JUnit 5. |
| hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestHFileCompressionBrotli.java | Migrates brotli HFile compression tests to JUnit 5 lifecycle/tags. |
| hbase-compression/hbase-compression-brotli/src/test/java/org/apache/hadoop/hbase/io/compress/brotli/TestBrotliCodec.java | Migrates brotli codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestZstdCodec.java | Migrates aircompressor zstd codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionZstd.java | Migrates aircompressor zstd WAL compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionSnappy.java | Migrates aircompressor snappy WAL compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionLzo.java | Migrates aircompressor lzo WAL compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestWALCompressionLz4.java | Migrates aircompressor lz4 WAL compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestSnappyCodec.java | Migrates aircompressor snappy codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestLzoCodec.java | Migrates aircompressor lzo codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestLz4Codec.java | Migrates aircompressor lz4 codec tests to JUnit 5 tags/annotations. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionZstd.java | Migrates aircompressor zstd HFile compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionSnappy.java | Migrates aircompressor snappy HFile compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionLzo.java | Migrates aircompressor lzo HFile compression test lifecycle/tags to JUnit 5. |
| hbase-compression/hbase-compression-aircompressor/src/test/java/org/apache/hadoop/hbase/io/compress/aircompressor/TestHFileCompressionLz4.java | Migrates aircompressor lz4 HFile compression test lifecycle/tags to JUnit 5. |
Comments suppressed due to low confidence (2)
hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWALValueCompression.java:1
org.junit.jupiter.params.ParameterizedClassand class-level@MethodSourceare not part of standard JUnit Jupiter (as of JUnit 5.x commonly used in projects). This is very likely to fail compilation or silently not parameterize the class. Prefer using HBase's existing parameterized template mechanism (the removed@HBaseParameterizedTestTemplate/@TestTemplate) or refactor to JUnit's supported method-level@ParameterizedTest+@MethodSource(e.g., duplicate small wrapper methods in each subclass that delegate to shared helpers) so parameters are actually applied.
hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWALValueCompression.java:1org.junit.jupiter.params.ParameterizedClassand class-level@MethodSourceare not part of standard JUnit Jupiter (as of JUnit 5.x commonly used in projects). This is very likely to fail compilation or silently not parameterize the class. Prefer using HBase's existing parameterized template mechanism (the removed@HBaseParameterizedTestTemplate/@TestTemplate) or refactor to JUnit's supported method-level@ParameterizedTest+@MethodSource(e.g., duplicate small wrapper methods in each subclass that delegate to shared helpers) so parameters are actually applied.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…che/hadoop/hbase/io/compress/zstd/TestHFileCompressionZstd.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.